home *** CD-ROM | disk | FTP | other *** search
- /* ModelessButtons.c -- modeless dialog */
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Appearance.h>
- #include <stdlib.h>
-
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "ControlUtils.h"
-
- #include "Dispatcher.h"
- #include "ModelessButtons.h"
-
- #define kCapInvisibleLabel 1
- #define kInvisibleButton 2
- #define kStandardButton 3
- #define kDefaultButton 4
- #define kBevelBox 5
- #define kButtonButton 6
- #define kNextButton 7
- #define kNext2Button 8
- #define kGraphicBox 9
- #define kCapcicnLabel 10
- #define kRightButton 11
- #define kCapicl8Label 12
- #define kLightButton 13
- #define kCapICNLabel 14
- #define kRight2Button 15
- #define kCapicl9Label 16
- #define kButton2Button 17
- #define kRight3Button 18
- #define kCapPICTLabel 19
- #define kRect3DButton 20
- #define kLeftIconButton 21
- #define kRightIconButton 22
- #define kTitledPICTButton 23
-
-
- //----------
- DialogPtr ModelessButtonsDialog = nil;
-
- //----------
- void ModelessButtons_Create ()
- {
- ModelessButtons* dialog = NewModelessButtons ();
-
- AMDialog_MakeDialog ((AMDialog*)dialog, DLOG_ModelessButtons);
- }
-
- //----------
- void ModelessButtons_Show ()
- {
- if (ModelessButtonsDialog == nil) {
- ModelessButtons_Create ();
- }
- if (ModelessButtonsDialog != nil) {
- SelectWindow (ModelessButtonsDialog);
- ShowWindow (ModelessButtonsDialog);
- }
- }
-
- //----------
- void ModelessButtons_Close ()
- {
- HideWindow (ModelessButtonsDialog);
- }
-
- //----------
- ModelessButtons* NewModelessButtons ()
- {
- ModelessButtons* dialog;
-
- dialog = (ModelessButtons*)malloc (sizeof (ModelessButtons));
- ModelessButtons_Init (dialog);
- SetClassID (dialog, classModelessButtons);
-
- return dialog;
- }
-
- //----------
- void DeleteModelessButtons (
- ModelessButtons* dialog)
- {
- ModelessButtons_Free (dialog);
- free (dialog);
- }
-
- //----------
- void ModelessButtons_Init (
- ModelessButtons* self)
- {
- AMDialog_Init ((AMDialog*)self);
- }
-
- //----------
- void ModelessButtons_Free (
- ModelessButtons* self)
- {
- AMDialog_Free ((AMDialog*)self);
- }
-
- //----------
- void ModelessButtons_FinishMake (
- ModelessButtons* self)
- {
- ModelessButtonsDialog = ((AMDialog*)self)->mDialog;
-
- self->mInvisibleHandle = AMDialog_GetControlItem ((AMDialog*)self, kInvisibleButton);
- self->mStandardHandle = AMDialog_GetControlItem ((AMDialog*)self, kStandardButton);
- self->mDefaultHandle = AMDialog_GetControlItem ((AMDialog*)self, kDefaultButton);
- SetDefaultState (self->mDefaultHandle, true);
- SetDialogDefaultItem (((AMDialog*)self)->mDialog, kDefaultButton);
- self->mBevelHandle = AMDialog_GetControlItem ((AMDialog*)self, kBevelBox);
- self->mButtonHandle = AMDialog_GetControlItem ((AMDialog*)self, kButtonButton);
- SetBevelButtonGraphicAlignment (self->mButtonHandle, kControlBevelButtonAlignCenter, 0, 0);
- self->mNextHandle = AMDialog_GetControlItem ((AMDialog*)self, kNextButton);
- SetBevelButtonTextPlacement (self->mNextHandle, kControlBevelButtonPlaceToRightOfGraphic);
- SetBevelButtonTextAlignment (self->mNextHandle, kControlBevelButtonAlignTextFlushLeft, 0);
- SetBevelButtonGraphicAlignment (self->mNextHandle, kControlBevelButtonAlignLeft, 0, 0);
- self->mNext2Handle = AMDialog_GetControlItem ((AMDialog*)self, kNext2Button);
- SetBevelButtonTextPlacement (self->mNext2Handle, kControlBevelButtonPlaceBelowGraphic);
- SetBevelButtonTextAlignment (self->mNext2Handle, kControlBevelButtonAlignTextCenter, 0);
- SetBevelButtonGraphicAlignment (self->mNext2Handle, kControlBevelButtonAlignTop, 0, 0);
- self->mGraphicHandle = AMDialog_GetControlItem ((AMDialog*)self, kGraphicBox);
- self->mRightHandle = AMDialog_GetControlItem ((AMDialog*)self, kRightButton);
- self->mLightHandle = AMDialog_GetControlItem ((AMDialog*)self, kLightButton);
- self->mRight2Handle = AMDialog_GetControlItem ((AMDialog*)self, kRight2Button);
- self->mButton2Handle = AMDialog_GetControlItem ((AMDialog*)self, kButton2Button);
- self->mRight3Handle = AMDialog_GetControlItem ((AMDialog*)self, kRight3Button);
- self->mRect3DHandle = AMDialog_GetControlItem ((AMDialog*)self, kRect3DButton);
- self->mLeftIconHandle = AMDialog_GetControlItem ((AMDialog*)self, kLeftIconButton);
- self->mRightIconHandle = AMDialog_GetControlItem ((AMDialog*)self, kRightIconButton);
- self->mTitledPICTHandle = AMDialog_GetControlItem ((AMDialog*)self, kTitledPICTButton);
- }
-
- //----------
- void ModelessButtons_ConnectToData (
- ModelessButtons* self,
- AMSignaler* inData)
- {
- AMDialog_ConnectToData ((AMDialog*)self, inData);
-
- }
-
- //----------
- void ModelessButtons_DoItem (
- ModelessButtons* self,
- SInt16 inItemHit)
- {
- switch (inItemHit) {
- case kInvisibleButton:
- //? this button doesn't have a command
- // DoInvisibleButton ();
- break;
- case kStandardButton:
- //? this button doesn't have a command
- // DoStandardButton ();
- break;
- case kDefaultButton:
- //? this button doesn't have a command
- // DoDefaultButton ();
- break;
- case kButtonButton:
- //? this button doesn't have a command
- // DoButtonButton ();
- break;
- case kNextButton:
- //? this button doesn't have a command
- // DoNextButton ();
- break;
- case kNext2Button:
- //? this button doesn't have a command
- // DoNext2Button ();
- break;
- case kRightButton:
- //? this button doesn't have a command
- // DoRightButton ();
- break;
- case kLightButton:
- //? this button doesn't have a command
- // DoLightButton ();
- break;
- case kRight2Button:
- //? this button doesn't have a command
- // DoRight2Button ();
- break;
- case kButton2Button:
- //? this button doesn't have a command
- // DoButton2Button ();
- break;
- case kRight3Button:
- //? this button doesn't have a command
- // DoRight3Button ();
- break;
- case kRect3DButton:
- //? this button doesn't have a command
- // DoRect3DButton ();
- break;
- case kLeftIconButton:
- //? this button doesn't have a command
- // DoLeftIconButton ();
- break;
- case kRightIconButton:
- //? this button doesn't have a command
- // DoRightIconButton ();
- break;
- case kTitledPICTButton:
- //? this button doesn't have a command
- // DoTitledPICTButton ();
- break;
-
- } // switch
- }
-
- //----------
- void ModelessButtons_DataChanged (
- ModelessButtons* self,
- long inDataID)
- {
- }
-
- //----------
- Boolean ModelessButtons_Filter (
- ModelessButtons* self,
- EventRecord *ioEvent,
- DialogItemIndex *outItemHit)
- {
- return AMDialog_Filter ((AMDialog*)self, ioEvent, outItemHit);
- }
-